A portion of the disclosure of this patent document contains material which is subject to copyright protection. This patent document may show and/or describe matter which is or may become trade dress of the owner. The copyright and trade dress owner has no objection to the facsimile reproduction by any one of the patent disclosure, as it appears in the Patent and Trademark Office patent files or records, but otherwise reserves all copyright and trade dress rights whatsoever.
1. Field of the Invention
The present invention relates generally to image forming apparatuses and, more particularly, to methods and apparatuses for controlling a transfer rate of image data within the image forming apparatuses.
2. Description of Related Art
As new computer systems and applications are developed and introduced into the marketplace, a primary motivating element in the evolution of economical and effective products continues to be increased processing speed. Regardless of the particular task at hand, few would disagree that, other things being equal, the quicker product will usually claim the market share.
In a typical networked multi-user computer environment, a number of individual workstations are linked together through a high speed network, usually a local area network (LAN). Also linked on the LAN are one or more peripheral devices such as printers, facsimile machines, scanners or plotters. One or more file servers are also linked to the network and serve to manage allocation of the devices to workstations which request the use of the devices. The allocation procedures typically involve accepting requests, determining the address of the device requested, maintaining queues, establishing priorities and relaying data from the workstation to the device.
Typically when a workstation user wishes to determine the status of a device that is networked on a LAN, the method available depends upon the intelligence of the device. The earlier generation of peripherals were xe2x80x9cunintelligent,xe2x80x9d or perhaps, better xe2x80x9cuncommunicative.xe2x80x9d They accepted data from the LAN and processed it according to instructions, but were incapable of relaying status information back to the LAN. A workstation user, concerned about the status of a device to which he or she had sent a job, would have to leave the workstation to physically examine the device.
A server, such as a file server or a print server, might be able to provide some information regarding the status of a print job. However, this status information related to the status of the print job in a print queue, and the print queue was neither created, maintained nor serviced by the printer. If a print job was removed from the print queue, one could infer that the printer was handling the print job. However, the status of the print job as it was handled by the printer could not be ascertained. For example, absence of a print job from the print queue could mean that the print job was complete, or it could also mean that the printer had received the print job into its buffer and was still processing the print job. Other features of such a print queue manager were reprioritization of print jobs and deletion of print jobs.
More recently, peripheral devices have become available which are able to perform a number of related functions. These devices are known as multifunction peripherals (MFPs).
The Telecommunication Industry Association (TIA) has provided an MFP interface standard known as the IS-650 Multifunction Peripheral Industry Interface Standard, Level 1 (MFPI-1) specification version 5.5. According to this standard, an MFP is:
Computer equipment used to scan, print, facsimile transmit, and/or copy documents. It also may have the capability to provide data modem and other voice telephony services. The MFP may be an integrated unit or may be several discrete units that are interconnected on the same communication channel to the Host or interconnected using several different channels. One or more of the subsystems may be omitted from the MFP.
A xe2x80x9cHostxe2x80x9d as defined in MFPI-1 is any terminal or computer capable of providing commands and data to operate a peripheral, and in practice is a computer of any size, or a group of network nodes on a given local area network. As used herein, a xe2x80x9chostxe2x80x9d is a generic Host, providing the quality of functionality specified in MFPI-1 without necessarily adhering to the specification. A xe2x80x9csubsystemxe2x80x9d according to MFPI-1 is one of several logical peripheral units, such as printer, scanner, fax-data-voice (FDV) modem, internal memory, stand-alone controller (SAC), operator console and others which may exist in the MFP or Host. The Host and the MFP communicate through a xe2x80x9cchannel.xe2x80x9d
An MFP can operate in stand-alone mode, wherein two or more subsystems are used without interaction with the Host. One example of this is copying. Stand-alone operations may occur at the same time that the Host is accessing a different subsystem for a Host-controlled operation.
In a networked system where many workstations are sharing peripherals, the use of a multifunction peripheral is a mixed blessing. On the one hand, rather than providing, for example, two different scanner functions (one for reading documents for facsimile transmission, one for reading documents for copying) and three different printing functions (one for printing computer generated documents, one for printing documents received through facsimile transmission, and one for printing documents that have been scanned in for copying), a single scanning function and a single printing function perform the work of printer, copier and facsimile machine. On the other hand, the single multifunction peripheral is used at least as often as all of the individual devices would have been used alone. Previously, where there was one user wishing to print a document, one user wishing to transmit a document via facsimile, and one user wishing to copy a document, each would ordinarily each have directed his or her task to a separate machine, and thus not interfere with one another. If any one of these devices was busy or overloaded, the others could perform unimpeded. With a single machine performing all three functions (in our example), reliable processing speeds are more important to ensuring the productivity enhancing capabilities and cost savings of the MFPs. Having many processes operating in the MFP at any given time can severely tax or overload the system resources of the MFP.
MFPs have generally been somewhat simple as to programmability and functionality. A conventional MFP may be confined to DOS-based controllers or dedicated/specific purpose boards. There has been little, if any recognition of the problem of processing throughput.
The previously described problems are solved in a software architecture which maintains system performance while pipelining data in an image processing system. System resources of a host are efficiently apportioned by a data storage and retrieval unit (DSRU) between a image data processing processes in the host. The image data processing processes involves a transfer of image data from a respective originator service to a respective recipient service.
In accordance with the method, the DSRU identifies an available number of face buffers based upon available system resources. After one of the services requests a face buffer from the DSRU, the DSRU identifies an available number of face buffers which meet the requested criteria. If at least one face buffer of the requested type is available, then the DSRU returns a location of the one available face buffer to the requesting service. If the DSRU is unable to identify any face buffers of the requested type, then the DSRU delays until at least one face buffer of the requested type becomes available.
Still further objects and advantages attaching to the device and to its use and operation will be apparent to those skilled in the art from the following particular description.